package com.woniu.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * @Author pml
 * @Date 2025/6/19 15:17
 * @Description TODO
 * 操作日志实体类，与数据库表sys_operate_log映射
 * 使用Lombok的@Data注解减少模板代码，提高开发效率
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("sys_operate_log")
public class SysOperateLog {
    @TableId(type = IdType.AUTO)
    private Integer operateLogId;        // 操作日志ID，自增主键
    private Integer userId;              // 用户ID，关联all_user表
    private LocalDateTime operateTime;   // 操作时间，精确到秒
    private String module;               // 操作模块(如user/task/contest)
    private String operateType;          // 操作类型(add/update/delete/query)
    private String operateContent;       // 操作内容描述
    private String operateIp;            // 操作IP地址
    private Integer status;              // 操作状态(0-失败,1-成功)
    private String requestParams;        // 请求参数(JSON格式)
    private String responseResult;       // 返回结果(JSON格式)
    private LocalDateTime createTime;    // 创建时间
    private String creator;              // 创建人(默认system)
    private LocalDateTime updateTime;    // 更新时间
    private String updater;              // 更新人
}
